package com.szrt.day20161020.point07;



import org.junit.Test;

public class ExceptionDemo {
	
	
	/**
	 *  先按ALT不动      再按 /
	 *  CTRL + 1   先按ALT不动      再按 /
	 *  先按CTRL+ SHIFT不动  再按R  resource  快速打开某个文件
	 *  
	 *  报错 = 抛异常 ： 白话
	 *  
	 *  常用
	 *  
	 *  
	 */
	@Test
	public void ok(){
		System.out.println("开始计算啦...");
		int  x =10;
		int  y =2;
		try{
			int c=x/y;
			System.out.println(c);
		}catch(Exception ex){
			
			//32种方式....  框架的架构师   
			System.out.println("抛出异常啦....");
			
			//在华为不能写这样的代码
			System.out.println(ex); 
		}finally{
			System.out.println("死了都要爱 一定会执行");
		}
		System.out.println("10086 ");
	}
	
	
	/**
	 * 常用
	 * @throws Exception
	 */
	@Test
	public void ng() throws Exception{
		System.out.println("开始计算啦...");
		int  x =10;
		int  y =2;
		int c=x/y;
		System.out.println(c);
	}
	
	@Test
	public void chuTest() throws Exception {
		
		
		//只要进入公司 异常非常普遍   会有一个通用异常处理机制
		
		//对于程序员来说：只要做1件事情 ： 不管什么情况，直接往外抛
		chu(10, 2);
		
		jia(10, 2);
		
		int  aa = Integer.parseInt("20");
		System.out.println(aa);
		
	}
	
	public int jia(int a ,int b) throws RuntimeException{
		
		return a+b;
		
	}
	
	public int chu(int a ,int b) throws Exception{
		return a/b;
		
	}
	
	/**
	 * 不常用
	 * @throws Exception
	 */
	@Test
	public void th() throws Exception{
		System.out.println("开始计算啦...");
		int  x =10;
		int  y =2;
		int c=x/y;
		throw new ArrayIndexOutOfBoundsException();
		
	}

	
	

}
